In a packet-switched communication network, data are transmitted in the form of packets that are routed from a source node to a destination node through possible intermediate nodes. Exemplary packet-switched networks are Local Area Networks (e.g. Ethernet) and Geographic Area Networks (e.g. Internet).
On the other hand, in circuit-switched networks data are transmitted in the form of continuous bit flows carried from the source node to the destination node within plesiochronous or synchronous frames. Exemplary circuit-switched networks are PDH, SDH, Sonet and OTN networks.
Herein after, the expression “data unit” will designate a portion of a data flow transmitted in a communication network. In particular, in case of a packet-switched network, a data unit may be a packet or a portion of a packet. Besides, in case of a circuit-switched network, a data unit may be a plesiochronous frame, a portion of a plesiochronous frame, a synchronous frame or a portion of a synchronous frame.
Data transmitted either in a packet-switched network or in a circuit-switched network from a source node not always reach the destination node, i.e. they may be lost during transmission through the network.
Loss of data may be due to different reasons. For instance, in a packet-switched network, data within a packet may be discarded by an intermediate node, since the port at which the packet is received or through which the packet has to be forwarded is congested. Besides, both in packet-switched networks and in circuit-switched networks, data may be discarded by an intermediate node or by the destination node, since they contain bit errors.
When providing a service by transmitting data through a packet-switched network or a circuit-switched network, the rate of data lost during transmission affects the quality of service (QoS) of that service.
Besides, a data unit is transmitted at a transmission time by the source node and is received at a reception time by the destination node. The time elapsing between transmission time and reception time is typically called “one way delay” (or, briefly, “delay”). The delay of a data unit is given by the following equation:D(i)=Ri−Si,  [1]where Si is the transmission time and Ri is the reception time of the data unit.
The delay of a data unit mainly depends on the number of possible intermediate nodes crossed by the data unit from source to destination and on the permanence time of the data unit at the source node and at each possible intermediate node. In packet-switched networks, where data units are routed hop-by-hop by each node, both the number of possible intermediate nodes crossed by data units and the permanence time of data units at each node are unpredictable. Accordingly, the delay of a data unit is almost unpredictable. Besides, data units of a same data flow may have different delays.
In a packet-switched communication network, the difference in the delays of two data units (i.e. packets) of a same data flow is termed “interarrival jitter”. In particular, if Si and Sj are the transmission times for a first packet i and a second packet j, and Ri and Rj are the reception times for the first packet i and the second packet j, the interarrival jitter may be expressed as:J(i,j)=(Rj−Ri)−(Sj−Si).  [2]
When a communication service (in particular, a real-time voice or data service such as calls, conference calls, video conferences, etc.) is provided by means of a communication network, the delay and interarrival jitter of the data flows carrying the service strongly affect the quality of service (QoS) perceived by the end users of the service.
Therefore, measuring the data loss and delay/interarrival jitter of the data flows carrying services is of particular interest for network operators.
WO 2010/072251 (in the name of the same Applicant) discloses a method for measuring data loss of a data flow transmitted through a communication network from a transmitting node to a receiving node. Before transmitting the data units of the data flow, the transmitting node marks each data unit for dividing the data flow in blocks. In particular, the transmitting node marks each data unit by setting a bit of its header to “1” or “0”. The marking results in a sequence of blocks, where blocks of data units marked with “1” temporally alternate with blocks of data units marked with “0”. The blocks may have a same duration termed “block period” Tb. Further, while marking the data units, the transmitting node increases by one a first counter C1 each time a data unit is marked by “1”, and a second counter C0 each time a data unit is marked by “0”. The marked data units are then received at the receiving node. Each time the receiver node receives a data unit, it checks its marking, increases a third counter C′1 if the marking is “1” and increases a fourth counter C′0 if the marking is “0”.
According to WO 2010/072251, while the transmitting and receiving nodes are operating as described above, a management server cooperating with the transmitting and receiving nodes periodically detects the values of the counters C1, C0, C′1 and C′0, and uses them for calculating the data loss. The detection period Td has a maximum value that depends on the block period Tb according to the following formula: Tb>2*Td. In other words, the values of the counters C1, C0, C′1 and C′0 should be detected at least twice in each block period. Assuming that Tb is equal to 5 minutes, Td may be equal to 2 minutes.
At each detection time Td, the management server compares the detected current values of C1, C0, C′1 and C′0 with the corresponding previously detected values for determining which one of the counters C1, C0 and which one of the counters C′1, C′0 have a fixed value during the current block period. Indeed, from the above described marking procedure it follows that, in each block period, one of the counters C1, C0 has a fixed value while the other one is increasing, and one of the counters C′1, C′0 has a fixed value while the other one is increasing. Assuming that the management server determines that, during the current block period, the counters C0 and C′0 have a fixed value, the management server calculates the data loss as a difference between the currently fixed values of the counters C0 and C′0.